Public Property Set ObjectManager(anObjectManager As VBOFObjectManager)
Set pvtVBOFObjectManager = anObjectManager
End Property
Public Function ObjectID() As Long
Attribute ObjectID.VB_Description = "Private"
ObjectID = -1
End Function
Public Function RegisterForObjectEvent(Optional TriggerObject As Variant, Optional TriggerObjectType As Variant, Optional TriggerEvent As Variant, Optional RegisterObject As Variant, Optional RegisterType As Variant, Optional SkipTriggerObject As Variant, Optional NewEventObject As Variant) As Boolean
If IsMissing(RegisterObject) And IsMissing(RegisterType) Then
pvtErrorMessage TypeName(Me) & " cannot process the '.RegisterForObjectEvent' method for this object because the 'RegisterObject:=' and the 'RegisterType:=' parameters are missing. At least one of these must be specified."
RegisterForObjectEvent = False
Exit Function
End If
If IsMissing(TriggerObject) And IsMissing(TriggerObjectType) Then
If IsMissing(SkipTriggerObject) Or Not SkipTriggerObject Then
pvtErrorMessage TypeName(Me) & " cannot process the '.RegisterForObjectEvent' method for this object because the 'TriggerObject:=' and the 'TriggerObjectType:=' parameters are missing. At least one of these must be specified."
RegisterForObjectEvent = False
Exit Function
End If
End If
' initialize the EventObject
If IsMissing(NewEventObject) Then
Set tempEventObject = tempNewEventObject
Else
Set tempEventObject = NewEventObject
End If
Set tempEventObject.ObjectManager = pvtVBOFObjectManager
If Not IsMissing(RegisterObject) Then
Set tempEventObject.RegisterObject = _
RegisterObject
End If
If Not IsMissing(RegisterType) Then
tempEventObject.RegisterType = _
RegisterType
End If
If Not IsMissing(TriggerObject) Then
Set tempEventObject.TriggerObject = _
TriggerObject
End If
If Not IsMissing(TriggerObjectType) Then
tempEventObject.TriggerObjectType = _
TriggerObjectType
End If
If Not IsMissing(TriggerEvent) Then
tempEventObject.TriggerEvent = _
TriggerEvent
End If
' for internal re-use
If Not IsMissing(SkipTriggerObject) Then
If SkipTriggerObject = True Then ' doesn't work when And-ed to above line
Exit Function
End If
End If
pvtObjectEvents.Add _
tempEventObject
#End If
RegisterForObjectEvent = True
End Function
Public Function RegisterForCollectionEvent(Optional Collection As Variant, Optional TriggerObject As Variant, Optional TriggerObjectType As Variant, Optional TriggerEvent As Variant, Optional RegisterObject As Variant, Optional RegisterType As Variant) As Boolean
If IsMissing(RegisterObject) And IsMissing(RegisterType) Then
pvtErrorMessage TypeName(Me) & " cannot process the '.RegisterForCollectionEvent' method for this object because the 'RegisterObject:=' and the 'RegisterType:=' parameters are missing. At least one of these must be specified."
RegisterForCollectionEvent = False
Exit Function
End If
' internal re-use
RegisterForObjectEvent _
TriggerObject:=TriggerObject, _
TriggerObjectType:=TriggerObjectType, _
TriggerEvent:=TriggerEvent, _
RegisterObject:=RegisterObject, _
RegisterType:=RegisterType, _
NewEventObject:=tempNewEventObject, _
SkipTriggerObject:=True
If Not IsMissing(Collection) Then
Set tempNewEventObject.Collection = _
Collection
End If
pvtCollectionEvents.Add _
tempNewEventObject
#End If
RegisterForCollectionEvent = True
End Function
Public Function TriggerObjectEvent(Optional Event As Variant, Optional Object As Variant, Optional Verbose As Variant) As Boolean
pvtErrorMessage "Class Module '" & TypeName(tempEventObject.RegisterObject) & "' does not support the method 'ObjectEventCallBack'." & vbCrLf & "Object cannot be supported by " & TypeName(Me) & " without this method." & vbCrLf & "ObjectType=" & TypeName(tempEventObject.RegisterObject) & ", ObjectID=" & tempEventObject.RegisterObject.ObjectID
End If
End If
End If
End If
Next tempEventObject
Set tempEventObject = Nothing
#End If
End Function
Public Function TriggerCollectionEvent(Optional Event As Variant, Optional Object As Variant, Optional Collection As Variant, Optional Verbose As Variant, Optional NoDelete As Variant) As Boolean